<!DOCTYPE html>
<html>
    <!-- 头部依赖 -->
    <head>
        <meta charset="utf-8">
        <title>ECharts</title>
        <script src="echarts.min.js"></script>
    </head>

<!-- 热力图主体 -->
<body>
    <div id="main" style="height: 700px;"></div>
    <script type="text/javascript">

var myChart = echarts.init(document.getElementById('main'));
var option;

function renderItem(params, api) {
    var values = [api.value(0), api.value(1)];
    var coord = api.coord(values);
    var size = api.size([1, 1], values);
    return {
        type: 'sector',
        shape: {
            cx: params.coordSys.cx,
            cy: params.coordSys.cy,
            r0: coord[2] - size[0] / 2,
            r: coord[2] + size[0] / 2,
            startAngle: -(coord[3] + size[1] / 2),
            endAngle: -(coord[3] - size[1] / 2)
        },
        style: api.style({
            fill: api.visual('color')
        })
    };
}

var hours = ['河北', '山东', '河南', '四川', '湖南', '湖北', '青海', '江西', '贵州', '广东', '吉林', '黑龙江', '新疆', '西藏', '辽宁', '广西', '陕西', '山西', '浙江', '江苏', '北京', '上海', '海南', '天津'];
var days = ['一线城市', 'Friday', 'Thursday', 'Wednesday', 'Tuesday', 'Monday', '四线城市'];

var data = [[0,0,5],[0,1,1],[0,2,0],[0,3,0],[0,4,0],[0,5,0],[0,6,0],[0,7,0],[0,8,0],[0,9,0],[0,10,0],[0,11,2],[0,12,4],[0,13,1],[0,14,1],[0,15,3],[0,16,4],[0,17,6],[0,18,4],[0,19,4],[0,20,3],[0,21,3],[0,22,2],[0,23,5],[1,0,7],[1,1,0],[1,2,0],[1,3,0],[1,4,0],[1,5,0],[1,6,0],[1,7,0],[1,8,0],[1,9,0],[1,10,5],[1,11,2],[1,12,2],[1,13,6],[1,14,9],[1,15,11],[1,16,6],[1,17,7],[1,18,8],[1,19,12],[1,20,5],[1,21,5],[1,22,7],[1,23,2],[2,0,1],[2,1,1],[2,2,0],[2,3,0],[2,4,0],[2,5,0],[2,6,0],[2,7,0],[2,8,0],[2,9,0],[2,10,3],[2,11,2],[2,12,1],[2,13,9],[2,14,8],[2,15,10],[2,16,6],[2,17,5],[2,18,5],[2,19,5],[2,20,7],[2,21,4],[2,22,2],[2,23,4],[3,0,7],[3,1,3],[3,2,0],[3,3,0],[3,4,0],[3,5,0],[3,6,0],[3,7,0],[3,8,1],[3,9,0],[3,10,5],[3,11,4],[3,12,7],[3,13,14],[3,14,13],[3,15,12],[3,16,9],[3,17,5],[3,18,5],[3,19,10],[3,20,6],[3,21,4],[3,22,4],[3,23,1],[4,0,1],[4,1,3],[4,2,0],[4,3,0],[4,4,0],[4,5,1],[4,6,0],[4,7,0],[4,8,0],[4,9,2],[4,10,4],[4,11,4],[4,12,2],[4,13,4],[4,14,4],[4,15,14],[4,16,12],[4,17,1],[4,18,8],[4,19,5],[4,20,3],[4,21,7],[4,22,3],[4,23,0],[5,0,2],[5,1,1],[5,2,0],[5,3,3],[5,4,0],[5,5,0],[5,6,0],[5,7,0],[5,8,2],[5,9,0],[5,10,4],[5,11,1],[5,12,5],[5,13,10],[5,14,5],[5,15,7],[5,16,11],[5,17,6],[5,18,0],[5,19,5],[5,20,3],[5,21,4],[5,22,2],[5,23,0],[6,0,1],[6,1,0],[6,2,0],[6,3,0],[6,4,0],[6,5,0],[6,6,0],[6,7,0],[6,8,0],[6,9,0],[6,10,1],[6,11,0],[6,12,2],[6,13,1],[6,14,3],[6,15,4],[6,16,0],[6,17,0],[6,18,0],[6,19,0],[6,20,1],[6,21,2],[6,22,2],[6,23,6]];
var maxValue = data.reduce(function (max, item) {
    return Math.max(max, item[2]);
}, -Infinity);

option = {
    title: {
        text: 'Ta们与你一起占星',

        textStyle: {
            fontSize: 36,
            fontWeight: '100',
            align: 'center',
        },
    },
    legend: {
        data: ['在线人数'],
        right:'10%'
    },
    polar: {},
    tooltip: {},
    visualMap: {
        type: 'continuous',
        min: 0,
        max: maxValue,
        top: 'middle',
        dimension: 2,
        calculable: true,
        inRange:{
              color:['#b365ff','yellow']
        }
    },
    angleAxis: {
        type: 'category',
        data: hours,
        boundaryGap: false,
        splitLine: {
            show: true,
            lineStyle: {
                color: '#ddd',
                type: 'dashed'
            }
        },
        axisLine: {
            show: false
        }
    },
    radiusAxis: {
        type: 'category',
        data: days,
        z: 10000
    },
    series: [{
        name: '在线人数',
        type: 'custom',
        coordinateSystem: 'polar',
        itemStyle: {
            color: '#b365ff'
        },
        renderItem: renderItem,
        data: data
    }]
};

option && myChart.setOption(option);

</script>
</body>
</html>